﻿// Open Source: MIT License (http://www.opensource.org/licenses/mit-license.php)
// Project: YoProgramo.NET (http://code.google.com/p/yoprogramo/)
// Autor: Fabian Figueredo (info@fabianfigueredo.com.ar)
// Blog: blog.yoprogramo.net

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YoProgramo.Domain.Core.Interfaces;

namespace YoProgramo.Domain.Core.Entities
{
    public class MarkAsSpam<TTentity> : EntityBase<long>, IMarkAsSpam<TTentity>, IHasAssignedId<long> {
        #region IMarkAsSpam Members

        private TTentity _spamFor;
        public TTentity SpamFor {
            get {
                return _spamFor;
            }
            set {
                _spamFor = value;
            }
        }

        public IUser _byUser;
        public IUser ByUser {
            get {
                return _byUser;
            }
            set {
                _byUser = value;
            }
        }

        private string _fromIPAddress;
        public string FromIPAddress {
            get {
                return _fromIPAddress;
            }
            set {
                _fromIPAddress = value;
            }
        }


        private DateTime _markedAt;
        public DateTime MarkedAt {
            get {
                return _markedAt;
            }
            set {
                _markedAt = value;
            }
        }

        private bool _approved;
        public bool Approved {
            get {
                return _approved;
            }
            set {
                _approved = value;
            }
        }

        #endregion

        #region IHasAssignedId<long> Members

        public void SetAssignedIdTo(long assignedId) {
            throw new NotImplementedException();
        }

        #endregion

        public override int GetHashCode()
        {
            throw new NotImplementedException();
        }

        public long Id {
            get { return base.Id; }
            set { base.Id = value; }
        }


    }
}